package com.tjrac.generalpermissions.epception;

import com.tjrac.generalpermissions.utils.JsonPack;

import java.util.List;

public class MsgException extends RuntimeException  {

    int code;   //错误代码

    /**
     * 构造方法
     *
     * @param message 在网页中的提示信息
     */
    public MsgException(int code, String message) {
        super(message);
        this.code = code;
    }

    /**
     * 获取提示信息
     *
     * @return 在网页中的提示信息
     */
    @Override
    public String getMessage() {
        return super.getMessage();
    }

    /**
     * 获取错误代码
     *
     * @return 返回json的code代码
     */
    public int getCode() {
        return code;
    }

    public String toJson() {
        JsonPack jsonPack = new JsonPack();
        jsonPack.put("code", code);
        jsonPack.put("msg", super.getMessage());
        return jsonPack.toJson();
    }

    public String toListJson(List<?> list) {
        JsonPack jsonPack = new JsonPack();
        jsonPack.put("code", code);
        jsonPack.put("msg", super.getMessage());
        jsonPack.put("list", list);
        return jsonPack.toJson();
    }

    /**
     * 返回单个查询结果
     */
    public String toOneJson(Object o) {
        JsonPack jsonPack = new JsonPack();
        jsonPack.put("code", code);
        jsonPack.put("msg", super.getMessage());
        jsonPack.put("object", o);
        return jsonPack.toJson();
    }

}
